using B.S.NewMedical.Api.Read.DTOS.Doctor;
using B.S.NewMedical.ErrorCode;
using MediatR;
using System.Collections.Generic;

namespace B.S.NewMedical.Api.Read.Application.Command.Doctor
{
    /// <summary>
    /// 获取医生列表命令
    /// </summary>
    public class GetDoctorsCommand : IRequest<ApiPageing<DoctorDto>>
    {
        /// <summary>
        /// 医生姓名，模糊查询
        /// </summary>
        public string DoctorName { get; set; }

        /// <summary>
        /// 科室ID
        /// </summary>
        public int? DeptId { get; set; }

        /// <summary>
        /// 职称ID
        /// </summary>
        public int? JobTitleId { get; set; }

        /// <summary>
        /// 当前页码，默认为1
        /// </summary>
        public int PageIndex { get; set; } = 1;

        /// <summary>
        /// 每页大小，默认为10
        /// </summary>
        public int PageSize { get; set; } = 10;

        public GetDoctorsCommand()
        {
        }

        public GetDoctorsCommand(string doctorName, int? deptId, int? jobTitleId, int pageIndex, int pageSize)
        {
            DoctorName = doctorName;
            DeptId = deptId;
            JobTitleId = jobTitleId;
            PageIndex = pageIndex;
            PageSize = pageSize;
        }
    }
} 